/**
 * 生成器是一个函数，可以用来生成迭代器
 * 生成器可以暂停
 * 
 */
/*
function *go(){
    console.log(1)
    // 供外界输入值使用的
    // 这一行实现输入输出 本次输出放到yield后面，下次输入放到yield前面
    let a = yield 'a';
    console.log(a)
    let b = yield a
    console.log(3)
    return b
}
// 调用generator函数不会立即执行，调用next()才开始执行
let it = go()
let r1 = it.next()
let r2 = it.next("A")
let r3 = it.next("B")
console.log(r1, r2, r3) // {value: 'a', done: false}
*/



let Promise = require("./Promise.js")
let p = new Promise(function(resolve, reject){
    setTimeout(function(){
        let num = Math.random();
        if(num>0.5){
            resolve(num)
        }else {
            reject("error")
        }
    }, 1000)
})

let p2 = p.then(function(data){
    return data + '11111111'
}, function(reason){
    return reason + '00000000'
})
p2.then(function(data){
    console.log(data)
},function(reason){
    console.log(reason)
})
// p2.then(function(data){
//     console.log(data)
// }, function(reason){
//     console.log(reason)
// })





let obj = {}

Object.defineProperty(obj, 'then', {
    get(){
        return function(onFulfilled, onReject){

        }
    }, 
    set(){

    }
})
// console.log(obj.then)


/**
 * 
 * 圆通 1360
 * 中通 146115
 * 
 *  */ 